package com.gxar.quick.ar.server.base.model.protocol.editor;

import com.gxar.quick.ar.server.base.common.enums.protocol.ArLoadSceneEnum;
import com.gxar.quick.ar.server.base.common.enums.protocol.ArProtocolEditorEnum;
import com.gxar.quick.ar.server.base.model.protocol.BaseArProtocol;
import com.gxar.quick.ar.server.base.model.protocol.CommonInputWorkInfo;
import com.gxar.quick.ar.server.base.model.protocol.common.CommonArProtocol;

/**
 * 编辑器数据协议
 *
 * @author zxh
 * @version 1.0
 * @created 2024/01/02.
 */
public interface EditorArProtocol extends BaseArProtocol {

    /**
     * 获取编辑器类型
     *
     * @return
     */
    ArProtocolEditorEnum getType();

    /**
     * 填充编辑器协议
     *
     * @param workInfo        作品信息
     * @param arLoadSceneEnum 加载场景
     * @return
     */
    void fill(CommonInputWorkInfo workInfo, ArLoadSceneEnum arLoadSceneEnum);

    /**
     * 转化为通用协议, 抹平数据差异
     *
     * @return 通用协议
     */
    CommonArProtocol convert2CommonProtocol();
}
